Data compression is an important computer operation used in many computing applications, including both server and client applications. For example, data compression may be used to reduce network bandwidth requirements and/or storage requirements for cloud computing applications. Many common lossless compression formats are based on the LZ77 compression algorithm. Data compressed using LZ77-based algorithms typically include a stream of symbols (or “tokens”). Each symbol may include literal data that is to be copied to the output or a reference to repeat data that has already been decompressed. The DEFLATE algorithm uses LZ77 compression in combination with Huffman encoding to generate compressed output. The DEFLATE algorithm uses a 32-kilobyte history window when searching for matching data. Other, newer compression algorithms may use larger history windows. For example, the Brotli and ZStandard compression algorithms use history windows in the megabyte range.